/*
 * contactable 1.2 - jQuery Ajax contact form
 *
 * Copyright (c) 2009 Philip Beel (http://www.theodin.co.uk/)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Revision: $Id: jquery.contactable.js 2009-09-24 $
 *
 */

(
function ($) {
    $.fn.contactable = function (options) {
        var defaults = { name: 'Name', email: 'Email', message: 'Message', recipient: 'test@test.co.uk', subject: 'A contactable message', recievedMsg: 'Thankyou for your message', notRecievedMsg: 'Sorry but your message could not be sent, try again later' };
        var options = $.extend(defaults, options);
        return this.each(
            function (options) {
                $(this).html('<div id="contactable"></div><form id="contactForm" method="" action=""><div id="loading"></div><div id="callback"></div><div class="holder"><input type="hidden" id="recipient" name="recipient" value="' + defaults.recipient + '" /><input type="hidden" id="subject" name="subject" value="' + defaults.subject + '" /><p><label for="name">Name <span class="red"> * </span></label><br /><input id="name" class="contact" name="name" /></p><p><label for="email">E-Mail <span class="red"> * </span></label><br /><input id="email" class="contact" name="email" /></p><p><label for="comment">Your Feedback <span class="red"> * </span></label><br /><textarea id="comment" name="comment" class="comment" rows="4" cols="30" ></textarea></p><p><input class="submit" type="submit" value="Send"/></p><p>This will be some contact information about opening hours etc</p></div></form>');
                $('div#contactable').toggle(function () {
                    $('#overlay').css({ display: 'block' });
                    $(this).animate({ "marginLeft": "-=5px" }, "fast");
                    $('#contactForm').animate({ "marginLeft": "-=0px" }, "fast");
                    $(this).animate({ "marginLeft": "+=387px" }, "slow");
                    $('#contactForm').animate({ "marginLeft": "+=390px" }, "slow")
                }, function () {
                    $('#contactForm').animate({ "marginLeft": "-=390px" }, "slow");
                    $(this).animate({ "marginLeft": "-=387px" }, "slow").animate({ "marginLeft": "+=5px" }, "fast"); $('#overlay').css({ display: 'none' })
                });
                $("#contactForm").validate({ rules: { name: { required: true, minlength: 2 }, email: { required: true, email: true }, comment: { required: true} }, messages: { name: "", email: "", comment: "" }, submitHandler: function () {
                    $('.holder').hide();
                    $('#loading').show();
                    $.get('mail.php', { recipient: $('#recipient').val(), subject: $('#subject').val(), name: $('#name').val(), email: $('#email').val(), comment: $('#comment').val() }, function (data) {
                        $('#loading').css({ display: 'none' });
                        if (data == 'success') {
                            $('#callback').show().append(defaults.recievedMsg)
                        }
                        else {
                            $('#callback').show().append(defaults.notRecievedMsg)
                        }
                    })
                }
            })
        }
                )
    }
})
(jQuery);